package com.biz.primus.management.tms.feign;

import com.biz.primus.common.vo.SpringPageVO;
import com.biz.primus.model.depot.vo.*;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * EmployeeFeignClient
 *
 * @author JKLiues
 * @date 2017年11月27日
 */
@FeignClient(qualifier = "employeeFeignClient", name = "service-depot")
public interface EmployeeFeignClient {


    /**
     * tms分页查询员工
     *
     * @param reqVo 查询请求
     * @return SpringPageVO
     */
    @PostMapping("soa/employeeService/tmsPageResult")
    SpringPageVO<EmployeeTmsListRespVo> tmsPageResult(EmployeePageReqVo reqVo);

    /**
     * 生成员工二维码
     *
     * @param employeeCode 员工编码
     * @return QrCodeVo
     */
    @PostMapping("soa/employeeService/generateQrCode")
    QrCodeVo generateQrCode(@ApiParam(value = "员工编码") @RequestParam("employeeCode") String employeeCode);

    /**
     * 获取会员推广数据
     *
     * @param reqVo 请求对象
     * @return EmpSpreadRespVo
     */
    @PostMapping("soa/employeeService/getSpreadData")
    SpringPageVO<EmpSpreadRespVo> getSpreadData(@RequestBody EmpSpreadPageReqVo reqVo);
}